package com.dream.cgomall.service.impl;

import com.dream.cgomall.dao.*;
import com.dream.cgomall.dto.AttributeDTO;
import com.dream.cgomall.dto.contentDTO;
import com.dream.cgomall.entity.CgoGoodAttributeOneLevel;
import com.dream.cgomall.service.CgoAttributeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.yaml.snakeyaml.events.Event;

import java.math.BigDecimal;
import java.util.*;

@Service
public class CgoAttributeServiceImpl implements CgoAttributeService {
    @Autowired
    private CgoAttrlogoDao attrlogoDao;
    @Autowired
    private CgoGoodAttributeOneLevelDao oneLevel;
    @Autowired
    private CgoGoodAttributeTwoLevelDao twoLevelDao;
    @Override
    public List<AttributeDTO> selectOneAll(int goodid) {
        List<AttributeDTO> Attr=new ArrayList<>();
        //根据用户id获取到一级二级菜单的属性id
        List<Integer> oneId=oneLevel.selectAttrId(goodid);
        List<contentDTO> conList=null;
        for (int AId:oneId) {
            conList = new ArrayList<>();
            String oneAttr = attrlogoDao.selectByAttr(AId);
            conList = oneLevel.selectByType(AId);
            Attr.add(new AttributeDTO(0, oneAttr, conList));
        }
        return Attr;
    }

    @Override
    public List<AttributeDTO> selectTwoAll(String oneAttr,int goodid) {
        List<AttributeDTO> Attr=new ArrayList<>();
        int id= oneLevel.selectByid(oneAttr);
        List<Integer> twoId=twoLevelDao.selectAttrId(goodid);
        List<contentDTO> conList=null;
        for (int AId:twoId) {
            conList = new ArrayList<>();
            String twoAttr = attrlogoDao.selectByAttr(AId);
            conList = twoLevelDao.selectByType(id);
            Attr.add(new AttributeDTO(0, twoAttr, conList));
        }
        return Attr;
    }

    @Override
    public List<AttributeDTO> selectTwoAll1(int goodid) {
        List<AttributeDTO> Attr=new ArrayList<>();
        List<Integer> twoId=twoLevelDao.selectAttrId(goodid);
        List<contentDTO> conList=null;
        for (int AId:twoId) {
            conList = new ArrayList<>();
            String twoAttr = attrlogoDao.selectByAttr(AId);
            conList = twoLevelDao.selectView(AId);
            Attr.add(new AttributeDTO(0,twoAttr,conList));
        }
        return Attr;
    }


    // //根据用户id获取到一级二级菜单的属性id
      // List<Integer> oneId=oneLevel.selectAttrId(goodid);
      // List<Integer> twoId= twoLevelDao.selectAttrId(goodid);
      // // String oneAttr= attrlogoDao.selectByAttr(oneId);
      // //将属性id合并
      // oneId.addAll(twoId);
      // //属性id集合
      // Set<Integer> attrId=new HashSet<>(oneId);
      // List<contentDTO> conList=null;
      // for (int Aid:attrId) {
      //     String AttrType=attrlogoDao.selectByAttr(Aid) ;
      //     conList=new ArrayList<>();
      //     if (oneLevel.selectByType(Aid).size()>0){
      //         conList=oneLevel.selectByType(Aid);
      //         Attr.add(new AttributeDTO(0,AttrType,conList));
      //     }else {
      //         conList=twoLevelDao.selectByType(Aid);
      //         Attr.add(new AttributeDTO(0,AttrType,conList));
      //     }
      //
      // }
      // return Attr;
      //---------------------------------------------------------------
      // List<String> attrLogo=attributeDao.selectBylogo(goodid);
      // List<AttributeDTO> listAttr=new ArrayList<>();//属性对象
      //   List<contentDTO> listCont=null;
      //   for (String attr:attrLogo) {
      //       System.out.println(attr);
      //       //获取属性内容
      //       List<String> context=attributeDao.SelectBycontext(attr);
      //       listCont=new ArrayList<>();
      //       int index=0;
      //       for (String con:context) {
      //           System.out.println(con);
      //           contentDTO more=attributeDao.selectAttr(con);
      //
      //           more.setIndex(index);
      //           more.setContext(con);
      //           listCont.add(more);
      //           index++;
      //       }
      //       listAttr.add(new AttributeDTO(0,attr,listCont));
      //   }
      //   return listAttr;



}
